package com.hyts.toolbox.caller;


import com.hyts.aop.AopProxy;
import com.hyts.bind.facade.BindContext;
import com.hyts.mvc.boot.BootLauncher;
import com.hyts.scanner.facade.ScannerBuilder;

import java.util.Optional;

/**
 * project-name:coffice-toolbox
 * package-name:com.hyts.toolbox.caller
 * author:Libo/Alex
 * create-date:2019-07-13 23:47
 * copyright:libo-hyts-github
 * email:libo2dev@aliyun.com
 * description:此类主要用于:
 */
public interface Container {

    /**
     * aspect-aop 切面组件
     */
    Optional<AopProxy> ASPECT = Optional.of(new AopProxy());

    /**
     * bind-guice di绑定服务-依赖注入
     */
    Optional<BindContext> BINDER = Optional.of(new BindContext());

    /**
     * MVC容器服务
     */
    Optional<BootLauncher> MVC = Optional.of(new BootLauncher());

    /**
     * bind-guice di绑定服务-依赖注入
     */
    Optional<ScannerBuilder> SCANNER = Optional.of(ScannerBuilder.create());

}
